Learning Rigging and Engine Implementation

Making Of / 03 June 2026

The goal for this project was to expand my skillset into a bit of tech art. Since I come from a character artist background, I figured the most applicable skill was rigging. What follows is a breakdown of my learning and experimentation. I cover all the tools I used as well as explain some of the challenges I faced and how I overcame them.

Before this project I had a very basic understanding of rigging, I knew joint placement, crude skinning, and parenting to controllers. While it sounds good, I lacked a fundamental understanding of the hows and whys for proper workflows and my rigs could only barely pose my models and weren't usable in production. In the past, I would simply use Transpose Master in ZBrush or rotate joints directly to force a pose, rather than building a functional rig.

To begin my learning in earnest I began with Abraham Leal's Introduction to Rigging in Maya Udemy course. It was a solid resource for the whole process and was the backbone of my learning. 

Using the course as reference, I started small and modified a robotic arm from another project I am working on to test out the basics on a simple model. I wanted to start with robotic parts to ease the transition and keep the complicated skin weight blending for another time.

The first thing I did was a paintover to make sure I had a reference showing all of the rotation axes I planned on making. For a project as simple as this it felt excessive but I want to build the good habits now.

Next up was joint placement. The major takeaway from this segment was learning the importance of proper joint orientation and how getting everything lined up was not only proper but very useful for some special functionality. Since I made the arm with proper topology, centering the joints was easy. Something I would later learn isn't always the case when using other people's models.

Skinning was straigtforward as well as each joint had its own mesh to influence. Part of the course introduced a Maya Curve Creator plugin by Perry Leijten. It came with a preset of very nice curves to help add some visual fidelity to the rig instead of basic circles and boxes from standard Maya. 

At this point I ran into my first roadblock, the piston at the top of the arm was giving me some trouble. In an effort to streamline the rig I opted to not add extra joints for the piston and tried to rely solely on point constraints. This ended up causing a hierarchy issue as the orient constraints would override the joint parenting or vice versa. To get around this I removed the skinning and parented the mesh directly. Since it was meant to only be used in Maya its not an issue, but for engine implementation I would go back, add joints, and reskin.

As I remembered from past projects, clean naming conventions and tidy hierarchys are a MUST. With all the geo, joints, and constraints adding up for even a simple model it's easy to see how this becomes a very large issue if left unchecked on any reasonably complex model or rig. In the hierarchy you can also see the previously mentioned Piston geomerty that is just a direct parent and constraint instead of skinned geo.

Something I had never done was an animation test. It was pretty cool to see all the work pay off and get a cool animation working. All the test entailed was rotating joints and adding key frames. These tests are often used to showcase the full range of motion for the rig and make sure everything is functioning properly.

The last bit of work on this project was to clean up the rig parameters in Maya. I learned its best practice to hide the constraints that shouoldn't be used to help any animators avoid breaking the rig. I also implemented angle constraints shown above. These are manual constraints put on the model so the mesh can't clip with itself. Doing these last few little features really helped make it production-ready so any animator can open the project and get to work.

After these last bits I considered this project complete. The next phase is to learn rigging within Unreal Engine and figuring out how to get rigged models to import and be implemented into engine. For that I dove into the world of Chaos Vehicles in Unreal, which had its own set of challenges.